Skip to content

NTDS: Add Bloodhound Support#1598

Draft
B0TAxy wants to merge 1 commit intofox-it:mainfrom
B0TAxy:feat/add_bloodhound_support
Draft

NTDS: Add Bloodhound Support#1598
B0TAxy wants to merge 1 commit intofox-it:mainfrom
B0TAxy:feat/add_bloodhound_support

Conversation

@B0TAxy
Copy link
Contributor

@B0TAxy B0TAxy commented Mar 3, 2026

This PR introduces the ability to export parsed NTD data into a format compatible with Bloodhound. Depends on #1599
resolves #1348

@B0TAxy B0TAxy marked this pull request as draft March 3, 2026 12:48
@Schamper
Copy link
Member

Schamper commented Mar 3, 2026

Can you create separate PRs for the expending of the record parsing and the bloodhound compatible output?

@B0TAxy
Copy link
Contributor Author

B0TAxy commented Mar 3, 2026

Can you create separate PRs for the expending of the record parsing and the bloodhound compatible output?

Certainly, I also remember talking about you, and you mentioned that you already have a tool for that called Foxhound. Is there any chance of getting snippets of it for reference

@B0TAxy B0TAxy changed the title NTDS: Add Bloodhound Support and Expanded Record Parsing NTDS: Add Bloodhound Support Mar 3, 2026
@B0TAxy B0TAxy force-pushed the feat/add_bloodhound_support branch 2 times, most recently from ada2109 to 0a25132 Compare March 4, 2026 10:05
@qmadev
Copy link
Contributor

qmadev commented Mar 7, 2026

@B0TAxy are you targeting the CE or the legacy BloodHound?

@B0TAxy
Copy link
Contributor Author

B0TAxy commented Mar 7, 2026

The CE but I will say the branch is very outdated I will push the updates on Monday probably

@B0TAxy B0TAxy force-pushed the feat/add_bloodhound_support branch from 0a25132 to a3c6219 Compare March 9, 2026 07:41
@B0TAxy
Copy link
Contributor Author

B0TAxy commented Mar 9, 2026

@qmadev I’ve pushed the updated branch. It’s still missing a few objects (domains, OUs, groups, and GPOs), but I’d appreciate your early impressions on the current progress.

@qmadev
Copy link
Contributor

qmadev commented Mar 10, 2026

Lgtm!

Just an idea for the future. It should be possible to get things like local groups and sessions as well. Acquire is already able to collect sessions with the volatile profile and the local groups are somewhere in the registry iirc. All we would have to do is parse the data correctly. So instead of relying on DCs only, you could build a bigger picture if you have the correct data.

Attackers already do this type of stuff. Looking the the CS-Situational-Awareness-BOF for example. In particular netloggedon2 and netLocalGroupListMembers2

@B0TAxy
Copy link
Contributor Author

B0TAxy commented Mar 11, 2026

Lgtm!

Just an idea for the future. It should be possible to get things like local groups and sessions as well. Acquire is already able to collect sessions with the volatile profile and the local groups are somewhere in the registry iirc. All we would have to do is parse the data correctly. So instead of relying on DCs only, you could build a bigger picture if you have the correct data.

Attackers already do this type of stuff. Looking the the CS-Situational-Awareness-BOF for example. In particular netloggedon2 and netLocalGroupListMembers2

Agreed, you’re 100% correct—integrating those volatile sessions and registry-based local groups would definitely provide that 'bigger picture' attackers look for.

I actually included a comment in the code regarding this for the future. Since that logic is a bit of a departure from the current DC-focused work, I think it’s best handled as a separate enhancement to keep this PR clean.

However, let me know if you’d prefer to see it tackled here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NTDS.dit parser with full record support and BloodHound export

3 participants